package com.api.tournament.vo;

import java.math.BigDecimal;
import java.util.List;

public class TournamentAdd {

    /**
     * tournamentName : 赛事名称
     * subtitle : 副标题
     * tournamentCover : 竞赛封面
     * gameId : 1
     * participantsSize : 1
     * tournamentType : 1
     * registrationTimeStart : 1
     * registrationTimeEnd : 1
     * registeryFee : 1
     * registeryFeeType : 报名费类型 point coin
     * liveUrl : 报名链接
     * site : 比赛场地 online 或者 地址
     * tournamentTime : 1
     * introduction : 赛事简介
     * sponsor : [{"sponsorName":"赞助商名称","sponsorLogo":"logo","sponsorType":"赞助类型"}]
     * reward : [{"rewardType":"奖励类型 1物品 2现金","rewardName":"奖励名称","rewardPicture":"奖品图","rewardPrice":1}]
     * terms :
     * stage : [{"format":1,"groupSize":1,"promotionSize":1,"round":[{"roundName":"final","best":1}],"stageType":"小组阶段groupStage 决赛阶段 finalStage","best":1}]
     */

    private Long tournamentId;
    private String tournamentName;
    private String subtitle;
    private String tournamentCover;
    private Long gameId;
    private Integer participantsSize;
    private Integer tournamentType;
    private Long registrationTimeStart;
    private Long registrationTimeEnd;
    private BigDecimal registeryFee;
    private String registeryFeeType;
    private String liveUrl;
    private String site;
    private Long tournamentTime;
    private String introduction;
    private String terms;
    private List<SponsorBean> sponsor;
    private List<RewardBean> reward;
    private List<StageBean> stage;
    /**
     * 队伍人数
     */
    private Integer mode;

    private String eastWest;
    private Boolean oku;
    private String state;
    private Boolean student;
    private String tournamentCategory;
    private Boolean draft;
    private Boolean authentication;
    private String faceBook;

    private String instagram;

    private String discord;
    /**
     * 替补人数
     */
    private Integer substitute;

    /**
     * 是否必须替补
     */
    private Boolean compulsory;


    public Long getTournamentId() {
        return tournamentId;
    }

    public void setTournamentId(Long tournamentId) {
        this.tournamentId = tournamentId;
    }

    public String getTournamentName() {
        return tournamentName;
    }

    public void setTournamentName(String tournamentName) {
        this.tournamentName = tournamentName;
    }

    public String getSubtitle() {
        return subtitle;
    }

    public void setSubtitle(String subtitle) {
        this.subtitle = subtitle;
    }

    public String getTournamentCover() {
        return tournamentCover;
    }

    public void setTournamentCover(String tournamentCover) {
        this.tournamentCover = tournamentCover;
    }

    public int getParticipantsSize() {
        return participantsSize;
    }


    public int getTournamentType() {
        return tournamentType;
    }

    public Long getGameId() {
        return gameId;
    }

    public void setGameId(Long gameId) {
        this.gameId = gameId;
    }

    public void setParticipantsSize(Integer participantsSize) {
        this.participantsSize = participantsSize;
    }

    public void setTournamentType(Integer tournamentType) {
        this.tournamentType = tournamentType;
    }

    public Long getRegistrationTimeStart() {
        return registrationTimeStart;
    }

    public void setRegistrationTimeStart(Long registrationTimeStart) {
        this.registrationTimeStart = registrationTimeStart;
    }

    public Boolean getOku() {
        return oku;
    }

    public void setOku(Boolean oku) {
        this.oku = oku;
    }

    public Long getRegistrationTimeEnd() {
        return registrationTimeEnd;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public Boolean getStudent() {
        return student;
    }

    public void setStudent(Boolean student) {
        this.student = student;
    }

    public String getTournamentCategory() {
        return tournamentCategory;
    }

    public void setTournamentCategory(String tournamentCategory) {
        this.tournamentCategory = tournamentCategory;
    }

    public void setRegistrationTimeEnd(Long registrationTimeEnd) {
        this.registrationTimeEnd = registrationTimeEnd;
    }

    public BigDecimal getRegisteryFee() {
        return registeryFee;
    }

    public void setRegisteryFee(BigDecimal registeryFee) {
        this.registeryFee = registeryFee;
    }

    public Long getTournamentTime() {
        return tournamentTime;
    }

    public void setTournamentTime(Long tournamentTime) {
        this.tournamentTime = tournamentTime;
    }

    public String getRegisteryFeeType() {
        return registeryFeeType;
    }

    public void setRegisteryFeeType(String registeryFeeType) {
        this.registeryFeeType = registeryFeeType;
    }

    public String getLiveUrl() {
        return liveUrl;
    }

    public void setLiveUrl(String liveUrl) {
        this.liveUrl = liveUrl;
    }

    public String getSite() {
        return site;
    }

    public void setSite(String site) {
        this.site = site;
    }


    public String getIntroduction() {
        return introduction;
    }

    public void setIntroduction(String introduction) {
        this.introduction = introduction;
    }

    public String getTerms() {
        return terms;
    }

    public void setTerms(String terms) {
        this.terms = terms;
    }

    public List<SponsorBean> getSponsor() {
        return sponsor;
    }

    public void setSponsor(List<SponsorBean> sponsor) {
        this.sponsor = sponsor;
    }

    public List<RewardBean> getReward() {
        return reward;
    }

    public void setReward(List<RewardBean> reward) {
        this.reward = reward;
    }

    public List<StageBean> getStage() {
        return stage;
    }

    public void setStage(List<StageBean> stage) {
        this.stage = stage;
    }

    public String getEastWest() {
        return eastWest;
    }

    public void setEastWest(String eastWest) {
        this.eastWest = eastWest;
    }

    public static class SponsorBean {
        /**
         * sponsorName : 赞助商名称
         * sponsorLogo : logo
         * sponsorType : 赞助类型
         */

        private String sponsorName;
        private Long sponsorId;
        private String sponsorLogo;
        private String sponsorType;
        private String companyType;

        public String getSponsorName() {
            return sponsorName;
        }

        public void setSponsorName(String sponsorName) {
            this.sponsorName = sponsorName;
        }

        public String getSponsorLogo() {
            return sponsorLogo;
        }

        public void setSponsorLogo(String sponsorLogo) {
            this.sponsorLogo = sponsorLogo;
        }

        public String getSponsorType() {
            return sponsorType;
        }

        public void setSponsorType(String sponsorType) {
            this.sponsorType = sponsorType;
        }

        public String getCompanyType() {
            return companyType;
        }

        public void setCompanyType(String companyType) {
            this.companyType = companyType;
        }

        public Long getSponsorId() {
            return sponsorId;
        }

        public void setSponsorId(Long sponsorId) {
            this.sponsorId = sponsorId;
        }
    }

    public static class RewardBean {
        /**
         * rewardType : 奖励类型 1物品 2现金
         * rewardName : 奖励名称
         * rewardPicture : 奖品图
         * rewardPrice : 1
         */

        private String rewardType;
        private Long rewardId;
        private String rewardName;
        private String rewardPicture;
        private int rank;
        private BigDecimal rewardPrice;
        private Integer quantity;

        public String getRewardType() {
            return rewardType;
        }

        public void setRewardType(String rewardType) {
            this.rewardType = rewardType;
        }

        public String getRewardName() {
            return rewardName;
        }

        public void setRewardName(String rewardName) {
            this.rewardName = rewardName;
        }

        public String getRewardPicture() {
            return rewardPicture;
        }

        public void setRewardPicture(String rewardPicture) {
            this.rewardPicture = rewardPicture;
        }

        public BigDecimal getRewardPrice() {
            return rewardPrice;
        }

        public void setRewardPrice(BigDecimal rewardPrice) {
            this.rewardPrice = rewardPrice;
        }

        public int getRank() {
            return rank;
        }

        public void setRank(int rank) {
            this.rank = rank;
        }

        public Integer getQuantity() {
            return quantity;
        }

        public void setQuantity(Integer quantity) {
            this.quantity = quantity;
        }

        public Long getRewardId() {
            return rewardId;
        }

        public void setRewardId(Long rewardId) {
            this.rewardId = rewardId;
        }
    }

    public static class StageBean {
        /**
         * format : 1
         * groupSize : 1
         * promotionSize : 1
         * round : [{"roundName":"final","best":1}]
         * stageType : 小组阶段groupStage 决赛阶段 finalStage
         * best : 1
         */

        private long id;
        private int format;
        private int groupSize;
        private int promotionSize;
        private String stageType;
        private int best;
        private int round;
        private List<RoundBean> rounds;

        public long getId() {
            return id;
        }

        public void setId(long id) {
            this.id = id;
        }

        public int getFormat() {
            return format;
        }

        public void setFormat(int format) {
            this.format = format;
        }

        public int getGroupSize() {
            return groupSize;
        }

        public void setGroupSize(int groupSize) {
            this.groupSize = groupSize;
        }

        public int getPromotionSize() {
            return promotionSize;
        }

        public void setPromotionSize(int promotionSize) {
            this.promotionSize = promotionSize;
        }

        public String getStageType() {
            return stageType;
        }

        public void setStageType(String stageType) {
            this.stageType = stageType;
        }

        public int getBest() {
            return best;
        }

        public void setBest(int best) {
            this.best = best;
        }

        public int getRound() {
            return round;
        }

        public void setRound(int round) {
            this.round = round;
        }

        public List<RoundBean> getRounds() {
            return rounds;
        }

        public void setRounds(List<RoundBean> rounds) {
            this.rounds = rounds;
        }

        public static class RoundBean {
            /**
             * roundName : final
             * best : 1
             */

            private String roundName;
            private int best;

            public String getRoundName() {
                return roundName;
            }

            public void setRoundName(String roundName) {
                this.roundName = roundName;
            }

            public int getBest() {
                return best;
            }

            public void setBest(int best) {
                this.best = best;
            }
        }
    }

    public Boolean getDraft() {
        return draft;
    }

    public void setDraft(Boolean draft) {
        this.draft = draft;
    }

    public Boolean getAuthentication() {
        return authentication;
    }

    public void setAuthentication(Boolean authentication) {
        this.authentication = authentication;
    }

    public Integer getMode() {
        return mode;
    }

    public void setMode(Integer mode) {
        this.mode = mode;
    }

    public String getFaceBook() {
        return faceBook;
    }

    public void setFaceBook(String faceBook) {
        this.faceBook = faceBook;
    }

    public String getInstagram() {
        return instagram;
    }

    public void setInstagram(String instagram) {
        this.instagram = instagram;
    }

    public String getDiscord() {
        return discord;
    }

    public void setDiscord(String discord) {
        this.discord = discord;
    }

    public Integer getSubstitute() {
        return substitute;
    }

    public void setSubstitute(Integer substitute) {
        this.substitute = substitute;
    }

    public Boolean getCompulsory() {
        return compulsory;
    }

    public void setCompulsory(Boolean compulsory) {
        this.compulsory = compulsory;
    }
}
